package cn.jsu.oj.judgment.config;

import cn.jsu.oj.judgment.datastructure.MessageQueue;
import cn.jsu.oj.judgment.datastructure.TaskBlockingQueue;
import cn.jsu.oj.judgment.pojo.AbstractPack;
import cn.jsu.oj.judgment.pojo.JudgeResult;
import cn.jsu.oj.judgment.pojo.SendBoxApply;
import cn.jsu.oj.judgment.pojo.TaskInfo;

import java.util.concurrent.LinkedBlockingQueue;

public class DataStructureConfig {


    public static final int taskQueueCapacity = 500;

    //接收任务调度的消息队列
    public static  final  MessageQueue<AbstractPack> messageQueue = new MessageQueue<>(100);

    //任务队列
    public static final TaskBlockingQueue<TaskInfo> taskQueue = new TaskBlockingQueue<>(taskQueueCapacity);

    //结果写回队列
    public static final LinkedBlockingQueue<JudgeResult> judgeResultQueue = new LinkedBlockingQueue<>(taskQueueCapacity);


    public static final LinkedBlockingQueue<SendBoxApply> sendBoxApplyQueue = new LinkedBlockingQueue<>(100);


}
